什麼是JavaScript 和 Java唸起來很像,是不是有關係呢?
JavaScript是由Netscape Communication公司為瀏覽器應用而開發的一種腳本程式語言。
換言之和Java除了唸起來差一個音節,實際上是完全沒有關係的!!!
JavaScript(以下簡稱JS)有以下幾個特徵:
1.腳本語言:何謂腳本語言?是以簡單易用,快速上手為目的所發展的程式語言,同時JS也具備了物件導向架構。
2.直譯式語言:何謂直譯式語言? 是指執行程式時,重頭開始解析(程式碼由上到下)、轉譯程式為機械碼,並同時執行的一種語言。
3.可用於各種環境:原本JS是為瀏覽器設計的程式語言,但現在已經不再侷限於瀏覽器。
4.弱型別:變數可以被隱式的轉換為另一個類型(詳細的後面章節會提到)。
ECMAScript與JavaScript
網路上常看到別人說ECMAScript,什麼是ECMAScript?又和JavaScript有什麼關係呢?
ECMAScript是由Ecma國際,在標準ECMA-262中定義的規範。
這樣講很像聽不懂,我在網路上看到前輩這樣解釋,以紙張來說有分為A4、A5、B4...等,這些尺寸就是一種規範,只要符合29.7cm*21cm的紙張就可以稱作A4(以此類推)。
規範提供了必須實作那些語法跟介面,可以根據自己的需求來實作。
JavaScript有了很大的轉變是在Ecma國際發布了ES6的版本之後,在這版中提供了新語法規則如下:
1.導入class指令,可以定義類似Java / C# 中的類別。
2.支援import /export 命令的程式模組化。
3.調整函數語法(箭頭函數、參數預設值、不定量參數等)。
4.新增 let/const 區塊範圍指令。
5.新增for...of 迴圈。
6.支援Interactor Iterator/Generator操作列舉物件。
7.新增內建物件(Promise、Map/Set、Proxy等)。
8.擴充既有物件功能(String/Number/Array等)。
附上W3C的練習,大家看完可以練習!
https://www.w3schools.com/js/js_es6.asp
p.s.ES6是ECMAScript 2015年所發布第6版的簡稱;基本上每年都會小幅度修改,目前最新版本是2020年的ES2020的第11版。
本日總結:
JavaScript和Java沒有關係,
JavaScript是一種腳本語言、直譯式語言,
並且在ES6開始後有了class讓物件導向設計變得更為直覺。
我自己剛開始學程式語言的時候,常常會遇到很多看不懂的專有名詞,除了先上網看前輩的解釋外,也會搭配原文的網址,接下來的二十八天我也會盡量解釋,如果有解釋不當的請各位看官再提出指正囉,今天就先到這了,我們明天見!
Interactor -> Iterator?
謝謝指證!
在我參考的書籍”新一代JavaScript程式精解“中1-2章上確實是打interactor,但經由與文件以及其他書籍比對後,證實是這本書打錯,
應為iterator
再次感謝大大,讓我又學到了!